Sequential Algorithms , Deterministic Parallelism , and
نویسندگان
چکیده
We call language L 1 intensionally more expressive than L 2 if there are functions which can be computed faster in L 1 than in L 2. We study the intensional expressive-ness of several languages: the Berry-Curien programming language of sequential algorithms, CDS0, a de-terministic parallel extension to it, named CDSP, and various parallel extensions to the functional programming language PCF. The paper consists of two parts. In the rst part, we show that CDS0 can compute the minimum of two numbers n and p in unary representation in time O(min(n; p)). However, it cannot compute a \natural" version of this function. CDSP allows us to compute this function, as well as functions like parallel-or. This work can be seen as an extension of the work of Colson 7, 8] with primitive recursive algorithms to the setting of sequential algorithms. In the second part, we show that deterministic paral-lelism adds intensional expressiveness, settling a \folk" conjecture from the literature in the negative. We show that CDSP is more expressive intensionally than CDS0. We also study three parallel extensions to PCF: parallel-or (por) and parallel conditionals on booleans (pif o) and integers (pif). The situation is more complicated there: pif is more expressive than both pif o and por. However, pif still is not as expressive as the deterministic query construct of CDSP. Thus, we identify a hierarchy of in-tensional expressiveness for deterministic parallelism.
منابع مشابه
A parallelism-motivated sequential sorting framework
We employ techniques developed and used in the design of parallel sorting algorithms to propose a new framework for sequential sorting. This framework is then used to design new deterministic and randomized sorting methods whose asymptotic worst-case running time can match the existing lower bound for sorting, yet their practical performance, as witnessed by an experimental study, surpasses exi...
متن کاملUsing parallelism techniques to improve sequential and multi-core sorting performance
We propose new sequential sorting operations by adapting techniques and methods used for designing parallel sorting algorithms. Although the norm is to parallelize a sequential algorithm to improve performance, we adapt a contrarian approach: we employ parallel computing techniques to speed up sequential sorting. Our methods can also work for multi-core sorting with minor adjustments that do no...
متن کاملOn-Line Approximate String Searching Algorithms: Survey and Experimental Results
The problem of approximate string searching comprises two classes of problems: string searching with k mismatches and string searching with k differences. In this paper we present a short survey and experimental results for well known sequential approximate string searching algorithms. We consider algorithms based on different approaches including dynamic programming, deterministic finite autom...
متن کاملMobile Pipelines: Parallelizing Left-Looking Algorithms Using Navigational Programming
Parallelizing a sequential algorithm—i.e., manually or automatically converting it into an equivalent parallel distributed algorithm—is an important problem. Ideally, the parallel algorithm should preserve the computational structure of the original sequential algorithm, display a high degree of parallelism, have low communication overhead, and be scalable. The difficulty of accomplishing this ...
متن کاملHints based Speculative Execution for Exploiting Probabilistic Parallelism
Performance growth of processors will depend on the amount of parallelism exposed by software; at the same time, many algorithms are inherently sequential: they have dependencies that prevent parallelism from being automatically exploited. In this paper we describe a new type of parallelism called probabilistic parallelism that can be unlocked in inherently sequential programs using speculative...
متن کامل